﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using FantastPlatform.Framework.IModel;
using FantastPlatform.Framework.Core;

namespace FantastPlatform.Decision.IModel
{
    /// <summary>
    /// 巡逻任务
    /// </summary>
    public interface IPatrolTask:INode<IPatrolTask>
    {
        /// <summary>
        /// 责任部门
        /// </summary>
        IOrganization DutyOrganization { get; set; }
        /// <summary>
        /// 执行部门
        /// </summary>
        IOrganization ExecOrganization { get; set; }
        /// <summary>
        /// 任务类别
        /// </summary>
        IPatrolTaskType TaskType { get; set; }
        /// <summary>
        /// 默认领导
        /// </summary>
        IEmployee DefaultLeader { get; set; }
        /// <summary>
        /// 责任领导
        /// </summary>
        IEmployee DutyLeader { get; set; }
        /// <summary>
        /// 默认开始时间
        /// </summary>
        DateTime? BeginTime { get; set; }
        /// <summary>
        /// 默认结束时间
        /// </summary>
        DateTime? EndTime { get; set; }
        /// <summary>
        /// 工作要求
        /// </summary>
        string Require { get; set; }
        /// <summary>
        /// 执勤位置
        /// </summary>
        IList<IPatrolTaskLine> Position { get; set; }
        /// <summary>
        /// 执勤民警
        /// </summary>
        IList<IEmployee> Policemans { get; set; }
        /// <summary>
        /// 执行部门人数
        /// </summary>
        string SelfOrgPersonNum { get; set; }
        /// <summary>
        /// 支援部门人数
        /// </summary>
        string OtherOrgPersonNum { get; set; }
        /// <summary>
        /// 支援部门人数
        /// </summary>
        string OtherOrgPerson { get; set; }
        /// <summary>
        /// 执行部门车辆
        /// </summary>
        string SelfOrgCar { get; set; }
        /// <summary>
        /// 支援部门名称
        /// </summary>
        string OtherOrgName { get; set; }



    }
}
